1. Field of the Invention
The present invention generally relates to real-time software state machine system and method within a communications system. More specifically, state machine processing is integrated with a Real-time Operating System (RTOS) execution environment.
2. Background Description
Various types of process control systems employing microprocessors and software to manage the functions of real time activities have been common in many industries. Whether the system is a complex air-traffic control system, manufacturing process control system, a reservation system, or a communication system, the on-going management of the system is crucial to long-term success.
The nature of process control systems such as in communication packet or circuit switches involve the control of substantial hardware interfaces. These interfaces provide basic and advanced capabilities towards creating a comprehensive communications network for reliably transporting various types of data such as video media, voice traffic, or transactional data.
The communications industry provides features and functionality that combine essential reliable basic services along with specialized services and capabilities that are delivered through new technologies at varying stages of deployment and maturity. As communications systems are deployed, they often contain both traditional hardware interfaces along with new technology hardware interfaces that provides a basis for increased functionality or evolutionary incremental infrastructure that is meant to deliver more robust communications based on this expanded functionality or based on economic changes in technology.
Software programming that provides control logic to these communication systems is subject to increasing complexity. This complexity is driven by the newer technologies themselves such as voice over packet switching, new distributed hardware topologies, higher demanded bandwidths, or by reliability and management requirements such as better human interfaces, maintenance and diagnostic capabilities, or operational ease of management.
In communication systems for example, one necessary aspect of the operational management of the system is a capability to view the ongoing internal operations of the system. In a complex system, the internal operations of the system can contain large numbers of independent functional software tasks which process messages and events in connection with the operation of the system hardware interfaces.
These software tasks were managed in turn by a Real-time Operating System (RTOS). As inter-task messages were created and sent to other tasks, reference to a logical or physical device such as a port was contained in the message. Also contained in the inter-task messaged typically was a new event, such as a timer time-out or a hardware detected input such as an off-hook of a phone.
Typically, in the past, every task running under a RTOS had a set of state tables created to service the events based on the event received. The task would be self-contained with all awareness of the state-event data structure linkages for all functions managed and process by that task. The software system would contain many tasks each with their own collection of state-event tables. Under this typical scenario the RTOS was isolated from the task processing and the tasks were isolated from the RTOS. Under this arrangement, the structure of the task's state machine was unknown to the support functions within the RTOS. This resulted in difficulties in maintaining these state machines and inefficiencies were created since the tasks could not take advantage of pre-existing functions already available within the RTOS.